In systems that include multiple Internet-of-Things (IoT) devices (also referred to herein as “mesh nodes”), a centralized Internet Protocol (IP) network is typically not used to transmit software updates to the IoT devices because the various IoT devices often use different communication protocols and network fabrics. Furthermore, in such systems, one or more of the IoT devices may only be active and communicating on the network for brief periods of time, such as to periodically transmit data collected by sensors of the IoT device or to receive data collected by sensors of another IoT device. Additionally, the IoT devices may have low data transmission power thereby limiting their range and may operate from one or more batteries with infrequent opportunities to recharge the batteries. As such, distributing a software update to one or more target IoT devices through a network of IoT devices that have only periodic availability on the network and limited energy can be challenging and may result in substantial delays and/or significant energy depletion for IoT devices in the network to provide the software update to the target IoT device(s).